/**
 * Plugin to minimize and use ejs template syntax in index.html.
 * https://github.com/anncwb/vite-plugin-html
 */
 import type { Plugin } from 'vite';

 import html from 'vite-plugin-html';
 
 import pkg from '../../package.json';
 

 export function configHtmlPlugin(env: ViteEnv, isBuild: boolean) {
   const { VITE_GLOB_APP_TITLE, VITE_PUBLIC_PATH } = env;
 
   const path = VITE_PUBLIC_PATH.endsWith('/') ? VITE_PUBLIC_PATH : `${VITE_PUBLIC_PATH}/`;
 
   const getAppConfigSrc = () => {
     return `${path || '/'}_app.config.js?v=${pkg.version}-${new Date().getTime()}`;
   };

   const htmlPlugin: Plugin[] = html({
     minify: isBuild,
     inject: {
       // Inject data into ejs template
       injectData: {
         title: VITE_GLOB_APP_TITLE,
       },
       // Embed the generated app.config.js file
       tags: isBuild?[
            {
            tag: 'script',
            attrs: {
              src: getAppConfigSrc(),
            },
          },
        ]:[]
     },
   });
   return htmlPlugin;
 }
 